//////////////////////////////////////////////
// VertexCompositionWrapper.h
//
//////////////////////////////////////////////

/// Defines / Macros -------------------------

#pragma once

/// Forward decl -----------------------------

namespace nkScripts
{
	class Environment ;
}

/// Includes ---------------------------------

// nkAstraeus
#include "../../../Dll/DllDefines.h"

// nkScripts
#include <NilkinsScripts/Environments/Functions/Function.h>

/// Class ------------------------------------

namespace nkAstraeus::nkGraphicsWrap
{
	class DLL_ASTRAEUS_EXPORT VertexCompositionWrapper final
	{
		public :

			// Environment update
			static void updateEnvironment (nkScripts::Environment* env) ;

			// Callbacks
			// Constructor, destructor
			// static void* constructor (const nkScripts::DataStack& stack) ;
			// static void destructor (void* toDestroy) ;
			// Position
			// static nkScripts::OutputValue getPosition (void* data) ;
			// static void setPosition (const nkScripts::DataStack& stack) ;
			// Normal
			// static nkScripts::OutputValue getNormal (void* data) ;
			// static void setNormal (const nkScripts::DataStack& stack) ;
			// Color
			// static nkScripts::OutputValue getColor (void* data) ;
			// static void setColor (const nkScripts::DataStack& stack) ;
			// Uv
			// static nkScripts::OutputValue getUv (void* data) ;
			// static void setUv (const nkScripts::DataStack& stack) ;
			// Topology
			// static nkScripts::OutputValue getTopology (void* data) ;
			// static void setTopology (const nkScripts::DataStack& stack) ;
	} ;
}